/*
    关于String类中的常用方法

 */

public class StringTest02 {
    public static void main(String[] args) {
        //1、（掌握）char charAt(int index)
        char c = "中国人".charAt(1);
        System.out.println(c);

        //2、（了解）int compareTo(String anotherString) 比较两个字符串的大小
        int result = "abc".compareTo("abcw");
        System.out.println(result);

        //3、（掌握）boolean contains(CharSequence s);
        //判断前面字符串中是否包含后面的子字符串
        System.out.println("王强最帅".contains("王强"));

        //4、（掌握）boolean endsWith(String suffix)
        //判断当前字符串是否以某个字符串结尾
        System.out.println("王强最帅.文梦甜".endsWith("文梦甜"));

        //5、（掌握）boolean equalsIgnoreCase(String anotherString)
        //判断两个字符串是否相等，并且同时忽略大小写
        System.out.println("abc".equalsIgnoreCase("ABC"));

        //6、（掌握）byte[] getBytes()
        //将字符串对象转换成字节数组
        byte[] bytes = "abcdfg".getBytes();
        for (int i = 0; i <bytes.length ; i++) {
            System.out.println(bytes[i]);
        }

        //7、（掌握）int indexOf(String str)
        //判断某个子字符串在当前字符串中第一次出现处的索引（下标）
        System.out.println("王强文梦甜相亲相爱一家人".indexOf("甜"));//4

        //8、（掌握）boolean isEmpty()
        //判断某个字符串是否为空
        String s = "";
        System.out.println(s.isEmpty());

        //9、int length()
        //面试题：判断数组长度和判断字符串长度不一样
        //判断数组长度是length属性，判断字符串长度是length()方法
        System.out.println("qwerdf".length());

        //10、int lastIndexOf(String str)
        //判断某个子字符串在当前字符串中最后一次出现处的索引（下标）
        System.out.println("王强文梦甜相亲相爱一家人王强文梦甜相亲相爱一家人".lastIndexOf("文梦甜"));//14

        //11、String replace(char oldChar, char newChar)
        //11、String replace(CharSequence target, CharSequence replacement) 替换
        //String的父接口就是CharSequence
        String s1 = "王强爱文梦甜".replace("文梦甜","甜宝儿");
        System.out.println(s1);

        //12、String[] split(String regex)
        //拆分字符串
        String[] s2 = "1999-06-10".split("-");
        for (int i = 0; i < s2.length; i++) {
            System.out.println(s2[i]);
        }

        //13、（掌握）boolean startsWith(String prefix)
        //判断当前字符串是否以某个字符串开始
        System.out.println("王强最帅.文梦甜".startsWith("王强"));

        //14、String substring(int beginIndex)，起始下标
        //14、String substring(int beginIndex, int endIndex)，左闭右开，（ beginIndex, endIndex - 1）
        //截取字符串
        System.out.println("王强最帅.文梦甜".substring(2));

        //15、char[] toCharArray()
        //将字符串转换成char数组
        char[] chars = "我爱文梦甜".toCharArray();
        for (int i = 0; i < chars.length; i++) {
            System.out.println(chars[i]);
        }

        //16、String toLowerCase()，转换为小写
        //16、String toUpperCase()，转换为大写
        System.out.println("qwrsaadf".toUpperCase());

        //17、String trim()
        //去除字符串前后空格

        //18、String中只有一个方法是静态的，不需要new对象
        //valueOf
        //将非字符串转换成字符串，传入的是一个对象，也可以调用这个方法，转而调用toString()方法
        //本质上 System.out.println()这个方法在输出任何数据的时候都是先转换成字符串再输出，因为println会调用valueOf方法
        String s3 = String.valueOf(new Object());





    }
}













